package com.aiwiown.snackmq.api;

/**
 * 事务状态枚举。
 * 用于本地事务执行器和事务状态回查监听器返回事务的最终状态。
 */
public enum TransactionState {
    /**
     * 提交事务。
     * Broker 将会把半消息转为可消费的普通消息。
     */
    COMMITTED,

    /**
     * 回滚事务。
     * Broker 将会丢弃这条半消息。
     */
    ROLLED_BACK,

    /**
     * 未知状态。
     * Broker 在收到此状态后，不会做任何操作，并会在稍后再次进行事务状态回查。
     * 这通常用于本地事务正在进行中，或因网络等问题暂时无法确定状态的场景。
     */
    UNKNOWN
}